package structureType.bridge;

import structureType.bridge.car.AUDICar;
import structureType.bridge.car.AbstractCar;
import structureType.bridge.car.BMWCar;
import structureType.bridge.road.AbstractRoad;
import structureType.bridge.road.CountryRoad;
import structureType.bridge.road.HighRoad;

/**
 * @描述：引入“人”之后不会对原来的类造成影响，不用修改原来的类
 * @作者：hongxingfan
 * @时间：2014年9月3日 下午3:21:55
 */
public class Main {

    public static void main(String[] args) {

        // 宝马车
        AbstractCar bmwCar = new BMWCar();
        // 奥迪车
        AbstractCar audiCar = new AUDICar();
        // 高速公路上行驶
        AbstractRoad highRoad = new HighRoad();
        // 乡村路上行驶
        AbstractRoad countryRoad = new CountryRoad();

        // 奥迪在乡村小路上行驶
        countryRoad.setCar(audiCar);
        countryRoad.run();

        // 宝马车在高速公路上行驶
        highRoad.setCar(bmwCar);
        highRoad.run();
    }

}
